Nesne başvurusu bir nesnenin örneğine ayarlanmadı
64x64

mustafa

22.4.2017 00:00:00

while döngüsünü okumuyor  hatayı bulmaya çalıştım ama bulamadım yardımcı olursanız sevinirim

public void acikPaketAdisyonlar(ListView lv)
        {
           
            int sayac = 0;
            lv.Items.Clear();
            SqlConnection con = new SqlConnection(gnl.conString);
            SqlCommand cmd = new SqlCommand("select paketSiparis.MUSTERIID,musteriler.AD+' '+musteriler.SOYAD as Musteri,adisyonlar.ID as adisyonID from paketSiparis inner join" +
                "musteriler on musteriler.ID=paketSiparis.MUSTERIID inner join adisyonlar on adisyonlar.ID=paketSiparis.ADISYONID where adisyonlar.DURUM=0", con);
            SqlDataReader dr = null;
            try
            {
                if (con.State == ConnectionState.Closed)
                {
                    con.Open();
                }
                dr = cmd.ExecuteReader();
                while (dr.Read())
                {
                    lv.Items.Add(dr["MUSTERIID"].ToString());
                    lv.Items[sayac].SubItems.Add(dr["Musteri"].ToString()); 
                    lv.Items[sayac].SubItems.Add(dr["adisyonID"].ToString());
                    sayac++;
                }

            }
            catch (SqlException ex)
            {
                string hata = ex.Message;
            }
            finally
            {
                dr.Close();
                con.Dispose();
                con.Close();
            }
        }

64x64

Muhammet Ali

2 Haziran 2017 Cuma

Merhabalar

Öncelikle kontrol edebileceğin kısım select sorgusundan dönen sonucun boş olup olmaması bu yüzden while dongusune boş sonuç geldiği için null hatası alabilirsin.Bunun çözümü döngüden önce kontrol etmen bunu.

Diğer bakabileceğin kısım  SqlDataReader dr = null; eşitleme yerine  SqlDataReader dr = cmd.ExecuteReader();  

şeklinde kullanman bu yüzden null hatası almış olabilirsin.Debug ile gidersen sorunu daha rahat çözersin.

Yorum yaz